﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SanFranciscoModel.Materia;
using SanFranciscoModel.Docente;
using SanFranciscoModel.Intermedias;

namespace SanFrancisco
{
    
    public partial class AsignarDocenteMateria : Form
    {
        int _DNI;

        public AsignarDocenteMateria(int dni)
        {
            _DNI = dni;
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void AsignarDocenteMateria_Load(object sender, EventArgs e)
        {
            MateriaManager MateriaManager = new MateriaManager();
            DocenteManager DocenteManager = new DocenteManager();
            List<Materia> MateriaList = new List<Materia>();
            List<Materia> MateriaListSoloDocente = new List<Materia>();
            List<MateriaXDocente> MateriaListPosibles = MateriaManager.getMateriasXDocentebyDNIDocente(_DNI);
            Docente Docente = new SanFranciscoModel.Docente.Docente();
            MateriaList = MateriaManager.getMateriasAll();

            foreach (Materia m in MateriaList)
            {
                bool flag = false;
                foreach (MateriaXDocente mxd in MateriaListPosibles)
                {
                    if(flag==false)
                        if (m.idMateria == mxd.idMateria)
                        {
                            flag = true;
                        }
                }
                if(flag==false)
                    MateriaListSoloDocente.Add(m);
            }

            cmbMaterias.ValueMember = "idMateria";
            cmbMaterias.DisplayMember = "Materia1";
            cmbMaterias.DataSource = MateriaListSoloDocente;

            Docente = DocenteManager.getDocentebyDNI(_DNI);
            txtApellido.Text = Docente.Apellido;
            txtDni.Text = _DNI.ToString();
            txtNombre.Text = Docente.Nombre;

        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            MateriaXDocente MateriaXDocente= new MateriaXDocente();
            MateriaManager MateriaManager = new MateriaManager();

            int a = (int)cmbMaterias.SelectedValue;


            MateriaXDocente.DNIDocente = _DNI;
            MateriaXDocente.idMateria = a;

            if(!MateriaManager.ExisteMateriaXDocente(MateriaXDocente))
            {
                MateriaManager.guardarMateriaXDocente(MateriaXDocente);
                MessageBox.Show("Asignación Exitosa");
                this.Close();
            }
            else
                {
                    MessageBox.Show("El docente ya esta asignado a la materia");
                }
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MateriaXDocente MateriaXDocente = new MateriaXDocente();
            MateriaManager MateriaManager = new MateriaManager();

            int a = (int)cmbMaterias.SelectedValue;


            MateriaXDocente.DNIDocente = _DNI;
            MateriaXDocente.idMateria = a;

            if (!MateriaManager.ExisteMateriaXDocente(MateriaXDocente))
            {
                MateriaManager.guardarMateriaXDocente(MateriaXDocente);
                MessageBox.Show("Asignación Exitosa");

                IngresoDNI Docente = new IngresoDNI(31, "Por favor ingrese DNI del Docente: ", SearchTipo.Docente);
                Docente.StartPosition = FormStartPosition.CenterScreen;
                Docente.ShowDialog();

                this.Close();
            }
            else
            {
                MessageBox.Show("El docente ya esta asignado a la materia");
            }
        }

    }
}
